package com.lpc.conroller;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.lpc.beans.Employee;
import com.lpc.beans.Msg;
import com.lpc.service.EmployeeService;

/**
 * 作者: 李鹏程
 * 时间：2018年1月27日 下午3:53:25
 * 作用:
 */
@Controller
public class EmployeeController {
	  @Autowired
	  private EmployeeService employeeService;
	  
	  public Msg insertEmp(Employee employee){
		return Msg.success();		  
	  }
	  
	  	/**
		 * 查询员工数据（分页查询）使用JSOn
		 */
	  @SuppressWarnings("unchecked")
	  @ResponseBody
	  @RequestMapping("/emps")
	  public Msg getAllWithJSON(@RequestParam(value="pn",defaultValue="1")Integer pn){
			// 这不是一个分页查询；
			// 引入PageHelper分页插件
			// 在查询之前只需要调用，传入页码，以及每页的大小
			PageHelper.startPage(pn, 5);
			// startPage后面紧跟的这个查询就是一个分页查询
		List<Employee> employeeList=employeeService.getALL();
		// 使用pageInfo包装查询后的结果，只需要将pageInfo交给页面就行了。
		// 封装了详细的分页信息,包括有我们查询出来的数据，传入连续显示的页数
			PageInfo page = new PageInfo(employeeList, 5);
//				model.addAttribute("pageInfo", page);
		return Msg.success().add("pageInfo", page);    
	  }
	  
	  	/**
		 * 查询员工数据（分页查询）
		 */
//	  @SuppressWarnings("unchecked")
//	@RequestMapping("/emps")
//      public String  getAll(@RequestParam(value="pn",defaultValue="1")Integer pn,
//  			Map map) {
//			// 这不是一个分页查询；
//			// 引入PageHelper分页插件
//			// 在查询之前只需要调用，传入页码，以及每页的大小
//			PageHelper.startPage(pn, 5);
//			// startPage后面紧跟的这个查询就是一个分页查询
//		List<Employee> employeeList=employeeService.getALL();
//		// 使用pageInfo包装查询后的结果，只需要将pageInfo交给页面就行了。
//		// 封装了详细的分页信息,包括有我们查询出来的数据，传入连续显示的页数
//			PageInfo page = new PageInfo(employeeList, 5);
////				model.addAttribute("pageInfo", page);
//			map.put("pageInfo", page);
//		return "list";    	  
//      }
}
